package com.ficus.road.maintain.core.model;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.Id;

import java.util.List;
import java.util.Set;

@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Car {
    @Id
    private String id;
    // 车牌号
    private String plateNo;
    // 类型
    private String type;
    // 车辆上一次所在位置
    private GpsLocation gpsLocation;
    // 车辆最近一次的速度
    private Integer speed;
    // 车辆最近一次的方向
    private Integer direction;
    // 车辆所属管养公司
    private String handleCompany;
    // 车辆上一次启动的时间
    private Long lastStartTime;
    // 最近一次的覆盖点位
    private Set<String> coverPoints;
    // 应覆盖里程
    private Double shouldCover;
    // 标段
    private List<String> units;
    // 司机
    private String driver;
    // 汽车品牌
    private String brand;
    // 关键点位
    private Set<String> keyPoints;
    // 上次保养时间
    private Long lastMaintenance;
    // 建议下次保养时间
    private Long nextMaintenance;
    // 当前版本
    private String version;
    // 创建时间
    private Long creationTime;
    // 最近一次修改时间
    private Long lastModificationTime;
    //车辆负责人
    private String principal;
}
